package com.itcast.springboot.utils;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class UserUtil {
    //本地头像存储路径
    private final static String filePath = "D://avatarUrl//";

    //删除本地头像
    public static Integer deleteLocalPhoto(String oldPhotoName) {
        //删除用户本地原来的头像信息
        //本地头像路径
        String oldPhotoLocalPath = filePath.concat(oldPhotoName);
        File file = new File(oldPhotoLocalPath);
        //0表示成功，-1表示失败
        Integer deleteResult = 0;
        if (file.exists()) {
            if (file.delete()) {
                deleteResult = 0;
            } else {
                deleteResult = -1;
            }
        } else {
            //不存在则默认是删除了
            deleteResult = 0;
        }
        return deleteResult;
    }

    //将用户头像添加到本地
    public static String insertLocalPhoto(MultipartFile avatarUrl) {
        //获取原始图片名称
        String photoName = avatarUrl.getOriginalFilename();
        //新的图片名字
        String newPhotoName = UUID.randomUUID() + photoName;
        System.out.println("新的图片名称： " + newPhotoName);
        //图片想要上传的本地路径位置
        String photoLocalPath = filePath.concat(newPhotoName);
        //在内存中创建File文件映射对象
        File dest = new File(photoLocalPath);
        //父目录是否存在，不存在则创建
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            //创建文件
            avatarUrl.transferTo(dest);
            //上传成功
            return newPhotoName;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
